Authority

  • It's a dilemma between synchronizing actions or synchronizing the consequences of actions.

Server-Authority

  • "The only 'authority' the client has is regarding its inputs, which are sent to the server, which 'notifies' the other clients."

  • "You want the client to have as little 'authority' as possible, so the server is the source of truth."

  • Inputs are done on the Client and passed to the Server, and ONLY the Server can move Entities and world objects.

  • The Client player is just an amoeba copying the Server's movements and properties, with no agency.

  • The Server has access to all "processes," while peers only have access to Inputs.

  • Synchronizing everything can be cumbersome and may cause unresponsiveness during lag.

  • Lag compensation is often necessary.

  • Safer against cheating.

  • Demonstration of this method ~{26:00 -> end} .

Client-Authority

  • The Client really PLAYS on the Client, while using RPCs to make other Clients' entities execute the same actions.